package com.ruoyi.construction.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 专业建设情况对象 jw_major_construction
 *
 * @author ruoyi
 * @date 2025-08-13
 */
public class JwMajorConstruction extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long mcId;

    /** 专业代码 */
    @Excel(name = "专业代码")
    private String mcMajorCode;

    /** 专业名称 */
    @Excel(name = "专业名称")
    private String mcMajorName;

    /** 专业英文名称 */
    @Excel(name = "专业英文名称")
    private String mcMajorEnglishName;

    /** 院系编码 */
    @Excel(name = "院系编码")
    private String mcDeptCode;

    /** 学科门类码 */
    @Excel(name = "学科门类码")
    private String mcDegreeType;

    /** 唯一标识 */
    @Excel(name = "唯一标识")
    private String mcUniqueId;

    /** 校内专业名称 */
    @Excel(name = "校内专业名称")
    private String mcInternalName;

    /** 设置年份 */
    @Excel(name = "设置年份")
    private String mcYearOfEstablishment;

    /** 学制 */
    @Excel(name = "学制")
    private String mcStudyLength;

    /** 允许修业年限 */
    @Excel(name = "允许修业年限")
    private String mcMaxStudyYears;

    /** 招生状态 */
    @Excel(name = "招生状态")
    private String mcRecruitStatus;

    /** 专业级别 */
    @Excel(name = "专业级别")
    private String mcMajorLevel;

    /** 校内专业编码 */
    @Excel(name = "校内专业编码")
    private String mcInternalCode;

    /** 招生所属大类 */
    @Excel(name = "招生所属大类")
    private String mcEnrollmentCategory;

    /** 专业建设项目名称1 */
    @Excel(name = "专业建设项目名称1")
    private String mcProjectName1;

    /** 时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date mcProjectTime1;

    /** 等级 */
    @Excel(name = "等级")
    private String mcProjectLevel1;

    /** 授予部门 */
    @Excel(name = "授予部门")
    private String mcAwardingDepartment1;

    /** 专业建设项目名称2 */
    @Excel(name = "专业建设项目名称2")
    private String mcProjectName2;

    /** 时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date mcProjectTime2;

    /** 等级 */
    @Excel(name = "等级")
    private String mcProjectLevel2;

    /** 授予部门 */
    @Excel(name = "授予部门")
    private String mcAwardingDepartment2;

    /** 备注 */
    @Excel(name = "备注")
    private String mcRemarks;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private String auditStatus;

    /** 未通过原因 */
    @Excel(name = "未通过原因")
    private String rejectionReason;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;

    /** 佐证材料 */
    @Excel(name = "佐证材料")
    private String wdUplocal;

    /** 时间戳 */
    @Excel(name = "时间戳")
    private String timePin;

    public void setMcId(Long mcId)
    {
        this.mcId = mcId;
    }

    public Long getMcId()
    {
        return mcId;
    }
    public void setMcMajorCode(String mcMajorCode)
    {
        this.mcMajorCode = mcMajorCode;
    }

    public String getMcMajorCode()
    {
        return mcMajorCode;
    }
    public void setMcMajorName(String mcMajorName)
    {
        this.mcMajorName = mcMajorName;
    }

    public String getMcMajorName()
    {
        return mcMajorName;
    }
    public void setMcMajorEnglishName(String mcMajorEnglishName)
    {
        this.mcMajorEnglishName = mcMajorEnglishName;
    }

    public String getMcMajorEnglishName()
    {
        return mcMajorEnglishName;
    }
    public void setMcDeptCode(String mcDeptCode)
    {
        this.mcDeptCode = mcDeptCode;
    }

    public String getMcDeptCode()
    {
        return mcDeptCode;
    }
    public void setMcDegreeType(String mcDegreeType)
    {
        this.mcDegreeType = mcDegreeType;
    }

    public String getMcDegreeType()
    {
        return mcDegreeType;
    }
    public void setMcUniqueId(String mcUniqueId)
    {
        this.mcUniqueId = mcUniqueId;
    }

    public String getMcUniqueId()
    {
        return mcUniqueId;
    }
    public void setMcInternalName(String mcInternalName)
    {
        this.mcInternalName = mcInternalName;
    }

    public String getMcInternalName()
    {
        return mcInternalName;
    }
    public void setMcYearOfEstablishment(String mcYearOfEstablishment)
    {
        this.mcYearOfEstablishment = mcYearOfEstablishment;
    }

    public String getMcYearOfEstablishment()
    {
        return mcYearOfEstablishment;
    }
    public void setMcStudyLength(String mcStudyLength)
    {
        this.mcStudyLength = mcStudyLength;
    }

    public String getMcStudyLength()
    {
        return mcStudyLength;
    }
    public void setMcMaxStudyYears(String mcMaxStudyYears)
    {
        this.mcMaxStudyYears = mcMaxStudyYears;
    }

    public String getMcMaxStudyYears()
    {
        return mcMaxStudyYears;
    }
    public void setMcRecruitStatus(String mcRecruitStatus)
    {
        this.mcRecruitStatus = mcRecruitStatus;
    }

    public String getMcRecruitStatus()
    {
        return mcRecruitStatus;
    }
    public void setMcMajorLevel(String mcMajorLevel)
    {
        this.mcMajorLevel = mcMajorLevel;
    }

    public String getMcMajorLevel()
    {
        return mcMajorLevel;
    }
    public void setMcInternalCode(String mcInternalCode)
    {
        this.mcInternalCode = mcInternalCode;
    }

    public String getMcInternalCode()
    {
        return mcInternalCode;
    }
    public void setMcEnrollmentCategory(String mcEnrollmentCategory)
    {
        this.mcEnrollmentCategory = mcEnrollmentCategory;
    }

    public String getMcEnrollmentCategory()
    {
        return mcEnrollmentCategory;
    }
    public void setMcProjectName1(String mcProjectName1)
    {
        this.mcProjectName1 = mcProjectName1;
    }

    public String getMcProjectName1()
    {
        return mcProjectName1;
    }
    public void setMcProjectTime1(Date mcProjectTime1)
    {
        this.mcProjectTime1 = mcProjectTime1;
    }

    public Date getMcProjectTime1()
    {
        return mcProjectTime1;
    }
    public void setMcProjectLevel1(String mcProjectLevel1)
    {
        this.mcProjectLevel1 = mcProjectLevel1;
    }

    public String getMcProjectLevel1()
    {
        return mcProjectLevel1;
    }
    public void setMcAwardingDepartment1(String mcAwardingDepartment1)
    {
        this.mcAwardingDepartment1 = mcAwardingDepartment1;
    }

    public String getMcAwardingDepartment1()
    {
        return mcAwardingDepartment1;
    }
    public void setMcProjectName2(String mcProjectName2)
    {
        this.mcProjectName2 = mcProjectName2;
    }

    public String getMcProjectName2()
    {
        return mcProjectName2;
    }
    public void setMcProjectTime2(Date mcProjectTime2)
    {
        this.mcProjectTime2 = mcProjectTime2;
    }

    public Date getMcProjectTime2()
    {
        return mcProjectTime2;
    }
    public void setMcProjectLevel2(String mcProjectLevel2)
    {
        this.mcProjectLevel2 = mcProjectLevel2;
    }

    public String getMcProjectLevel2()
    {
        return mcProjectLevel2;
    }
    public void setMcAwardingDepartment2(String mcAwardingDepartment2)
    {
        this.mcAwardingDepartment2 = mcAwardingDepartment2;
    }

    public String getMcAwardingDepartment2()
    {
        return mcAwardingDepartment2;
    }
    public void setMcRemarks(String mcRemarks)
    {
        this.mcRemarks = mcRemarks;
    }

    public String getMcRemarks()
    {
        return mcRemarks;
    }
    public void setAuditStatus(String auditStatus)
    {
        this.auditStatus = auditStatus;
    }

    public String getAuditStatus()
    {
        return auditStatus;
    }
    public void setRejectionReason(String rejectionReason)
    {
        this.rejectionReason = rejectionReason;
    }

    public String getRejectionReason()
    {
        return rejectionReason;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setWdUplocal(String wdUplocal)
    {
        this.wdUplocal = wdUplocal;
    }

    public String getWdUplocal()
    {
        return wdUplocal;
    }
    public void setTimePin(String timePin)
    {
        this.timePin = timePin;
    }

    public String getTimePin()
    {
        return timePin;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("mcId", getMcId())
            .append("mcMajorCode", getMcMajorCode())
            .append("mcMajorName", getMcMajorName())
            .append("mcMajorEnglishName", getMcMajorEnglishName())
            .append("mcDeptCode", getMcDeptCode())
            .append("mcDegreeType", getMcDegreeType())
            .append("mcUniqueId", getMcUniqueId())
            .append("mcInternalName", getMcInternalName())
            .append("mcYearOfEstablishment", getMcYearOfEstablishment())
            .append("mcStudyLength", getMcStudyLength())
            .append("mcMaxStudyYears", getMcMaxStudyYears())
            .append("mcRecruitStatus", getMcRecruitStatus())
            .append("mcMajorLevel", getMcMajorLevel())
            .append("mcInternalCode", getMcInternalCode())
            .append("mcEnrollmentCategory", getMcEnrollmentCategory())
            .append("mcProjectName1", getMcProjectName1())
            .append("mcProjectTime1", getMcProjectTime1())
            .append("mcProjectLevel1", getMcProjectLevel1())
            .append("mcAwardingDepartment1", getMcAwardingDepartment1())
            .append("mcProjectName2", getMcProjectName2())
            .append("mcProjectTime2", getMcProjectTime2())
            .append("mcProjectLevel2", getMcProjectLevel2())
            .append("mcAwardingDepartment2", getMcAwardingDepartment2())
            .append("mcRemarks", getMcRemarks())
            .append("auditStatus", getAuditStatus())
            .append("rejectionReason", getRejectionReason())
            .append("userId", getUserId())
            .append("deptId", getDeptId())
            .append("updateTime", getUpdateTime())
            .append("wdUplocal", getWdUplocal())
            .append("timePin", getTimePin())
            .toString();
    }
}
